_Pragma("once");

#include "ExtendDevice.h"

/**
 *
 * @author lizb
 */
class CompoundDevice : public ExtendDevice {
    using TypeToDeviceMap = std::unordered_map<const ExtendDeviceType*, ExtendDevice*>;
public:

    CompoundDevice(DummyChannel& channel, const ExtendDeviceType& deviceType, const std::string& deviceActknowlege): ExtendDevice(channel, deviceType, deviceActknowlege){

    }


    bool recheck() noexcept override;
    bool activeUpdateInformation() override;

    bool updateInformation() override;

    ExtendDevice* getDevice(const ExtendDeviceType& deviceType) override;




    TypeToDeviceMap msubDevices;
};
